1. Field of the Invention
The present invention relates generally to networks. More particularly, the present invention relates to a system and method for locating a closest server in response to a client domain name request by identifying a best-performing content server considering round trip time and service capacity.
2. Description of the Related Art
Methods and systems for resolving DNS requests are well-known. The basic domain name server (DNS) method is described in the paper by Mockapetris, P., entitled “Domain Names—Implementation and Specification”, RFC 1035, USC Information Sciences Institute, November 1987.
At an early stage in the development of the Internet, the concept of distributing content throughout the network to better serve clients was not considered. Client DNS requests were always resolved to the same IP address (i.e., the same content server) for all clients irrespective of the client's location in the network. More recently, consideration has been given to the notion of improving the servicing of clients by resolving DNS requests differently depending upon the client's location in the network. A number of methods have been introduced which attempt to resolve DNS requests in this client-dependent manner.
One known method in the art that attempts to resolve client DNS requests differently depending upon the client's location in the network, utilizes pinging mechanisms on the content servers (i.e., caches). Whenever a user makes a request, the DNS sends out a message to all the content servers in the network to ping the requesting client. This method is problematic in that there is a significant latency associated with the DNS instructing the content servers to ping the requesting client. A further disadvantage of the ping approach is that many clients are either behind firewalls, and not pingable as a result, or else are configured to not accept pings.
Another known method for resolving DNS requests in a client-dependent manner is to download routing table information from the network. Routing tables, however, provide a coarse idea of client locations in a network. That is, the prefixes used in most routing tables cover a widely dispersed geographical area. This is problematic in that determining a client's position in a network cannot be performed with sufficient accuracy to provide an appropriate best-performing content server in response to a client DNS request.
Thus, there is a need to provide a method for locating content servers in a network in response to client DNS requests where the method has minimal round trip time.